#define _CRT_SECURE_NO_WARNINGS
int maxProfit(int* prices, int pricesSize) {
    int ret = 0, minprices = prices[0];
    for (int i = 0; i < pricesSize; i++)
    {
        if (prices[i] < minprices)
        {
            minprices = prices[i];
            continue;
        }
        if (ret < prices[i] - minprices)
        {
            ret = prices[i] - minprices;
        }
    }
    return ret;
}


//int maxProfit(int* prices, int pricesSize) {
//    int max = 0;
//    for (int i = 0; i < pricesSize; i++)
//    {
//        for (int j = i + 1; j < pricesSize; j++)
//        {
//            if (prices[j] - prices[i] > max)
//            {
//                max = prices[j] - prices[i];
//            }
//        }
//    }
//    if (max <= 0)
//        return 0;
//    return max;
//}

//int* getRow(int rowIndex, int* returnSize) {
//    *returnSize = rowIndex + 1;
//    int* arr[rowIndex + 1];
//    for (int i = 0; i <= rowIndex; i++)
//    {
//        arr[i] = (int*)malloc(sizeof(int) * (i + 1));
//        arr[i][0] = arr[i][i] = 1;
//        for (int j = 1; j < i; j++)
//        {
//            arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
//        }
//    }
//    return arr[rowIndex];
//}


//int** generate(int numRows, int* returnSize, int** returnColumnSizes) {
//    *returnSize = numRows;
//    int** ret = (int**)malloc(sizeof(int*) * numRows);
//    *returnColumnSizes = (int*)malloc(sizeof(int) * numRows);
//    for (int i = 0; i < numRows; i++)
//    {
//        ret[i] = (int*)malloc(sizeof(int) * (i + 1));
//        (*returnColumnSizes)[i] = i + 1;
//        ret[i][0] = ret[i][i] = 1;
//        for (int j = 1; j < i; j++)
//        {
//            ret[i][j] = ret[i - 1][j] + ret[i - 1][j - 1];
//        }
//    }
//    return ret;
//}